package com.itheima.edu.info.manager.dao;

import com.itheima.edu.info.manager.domain.Student;

public class StudentDao {
    //1.创建学生对象
    private static Student[] stus = new Student[5];//改为成员变量，类中方法外

    public boolean addStudent(Student stu) {

        //2.添加学生到数组
        //2.1定义index为-1，假设数组已经全部存满，没有null的元素
        int index = -1;

        //2.2遍历数组每一个元素判断是否是null
        for (int i = 0; i < stus.length; i++) {
            Student student = stus[i];
            if (student == null) {
                index = i;
                //2.3如果为null，让index记录当前所以的位置，并使用break结束循环遍历
                break;
            }
        }
        //3.返回是否添加成功的boolean类型状态
        if (index != -1) {
            //不是-1就是没有装满，没有装满就是正常添加返回true
            stus[index] = stu;
            return true;

        }
        //是-1那就是装满了
        else
            return false;
    }

    public Student[] findAllStudent() {
        return stus;
    }

    public void deleteStudentById(String delId) {
        //遍历数组找到这个数的索引，然后改为null
        int index = getIndex(delId);
        stus[index] = null;
    }

    public int getIndex(String id) {
        //假设不存在
        int index = -1;
        for (int i = 0; i < stus.length; i++) {
            if (stus[i] != null && stus[i].getId().equals(id)) {//有学生信息并且相等
                index = i;
                break;
            }
        }

        return index;
    }

    public void updateStudent(String updeteId, Student newstu) {
        //找到要修改的索引修改
        int index = getIndex(updeteId);
        stus[index]=newstu;
    }
}